The present invention relates generally to storing texture state information, and more particularly to efficiently storing texture state information for use by a texture pipeline.
The realism and quality of graphics images has increased dramatically the last few years. Much of this increase has been made possible by an increase in the number of textures used in forming these graphics images.
Textures provide surface patterns and colors for objects in a graphic image. Textures are often processed using one or more texture pipeline circuits in a graphics processor or other appropriate circuit. A texture pipeline typically includes a number of pipeline stages.
Textures are described using a number of texture states. Various texture states include characteristics of the texture and provide instructions to a texture pipeline regarding the processing of the texture. Texture states are used by the pipeline stages in the texture pipeline as the texture pipeline processes texture information.
Conventionally, texture states are provided to a texture pipeline along with texture requests, state updates, and other information. These texture states are then passed through a texture pipeline along with their corresponding textures. Unfortunately, these texture states are quite large. Passing them through the texture pipeline consumes die area for storage circuits and routing, and increases device power dissipation as well. Also, as described above, the number of textures needed to generate a graphics image is rapidly increasing. Handling this increased number of textures further exacerbates these problems.
Accordingly, what is needed are circuits, methods and apparatus that provide efficient storage of a large number of texture states for use by texture pipelines.